package gestorHotel.usuarios;

import uiMain.menuconsola.Main;

public class Usuario {
	private String nombre;
	private String primerApellido;
	private String segundoApellido;
	private String telefono;
	private String email;
	private String DNI;
	private String direccion;
	private String numTarjeta;
	private String usuario;
	private String clave;
	private String tipo; // ADMIN, CLIENTE, RECEPCIONISTA, INVITADO, SYSADMIN
	
	public Usuario() {
		this.nombre = null;
		this.primerApellido = null;
		this.segundoApellido = null;
		this.telefono = null;
		this.email = null;
		this.DNI = null;
		this.direccion = null;
		this.numTarjeta = null;
		this.usuario = null;
		this.clave = null;
		this.tipo = null;
	}
	
	public Usuario(String nombre, String primerApellido, String segundoApellido, 
			       String telefono, String email, String DNI, String direccion,
			       String numTarjeta, String usuario, String clave, String tipo) {
		this.nombre = nombre;
		this.primerApellido = primerApellido;
		this.segundoApellido = segundoApellido;
		this.telefono = telefono;
		this.email = email;
		this.DNI = DNI;
		this.direccion = direccion;
		this.numTarjeta = numTarjeta;
		this.usuario = usuario;
		this.clave = clave;
		this.tipo = tipo;
	}
	
	public String getNombre() {
		return this.nombre;
	}
	
	public String getPrimerApellido() {
		return this.primerApellido;
	}
	
	public String getSegundoApellido() {
		return this.segundoApellido;
	}
	
	public String getTelefono() {
		return this.telefono;
	}
	
	public String getEmail() {
		return this.email;
	}
	
	public String getDireccion() {
		return this.direccion;
	}
	
	public String getDNI() {
		return this.DNI;
	}
	
	public String getNumTarjeta() {
		return this.numTarjeta;
	}
	
	public String getUsuario() {
		return this.usuario;
	}
	
	public String getClave() {
		return this.clave;
	}
	
	public String getTipo() {
		return tipo;
	}
	
	public void setNombre(String nombre) {
		this.nombre = nombre;
	}
	
	public void setPrimerApellido(String primerApellido) {
		this.primerApellido = primerApellido;
	}
	
	public void setSegundoApellido(String segundoApellido) {
		this.segundoApellido = segundoApellido;
	}
	
	public void setTelefono(String telefono) {
		this.telefono = telefono;
	}
	
	public void setEmail(String email) {
		this.email = email;
	}
	
	public void setDireccion(String direccion) {
		this.direccion = direccion;
	}
	
	public void setDNI(String DNI) {
		this.DNI = DNI;
	}
	
	public void setNumTarjeta(String numTarjeta) {
		this.numTarjeta = numTarjeta;
	}
	
	public void setUsuario(String usuario) {
		this.usuario = usuario;
	}
	
	public void setClave(String clave) {
		this.clave = clave;
	}
	
	public void setTipo(String tipo) {
		this.tipo = tipo;
	}
	
	public void crear() {
		if (!Main.usuarios.containsKey(this.usuario))
			Main.usuarios.put(this.usuario, this);
	}
	
	public void eliminar() {
		if (Main.usuarios.containsKey(this.usuario))
			Main.usuarios.remove(this.usuario);
	}
	
	public void editar() {
		if (Main.usuarios.containsKey(this.usuario))
			Main.usuarios.put(this.usuario, this);
	}
	
	public void mostrar() {
		System.out.println();
		System.out.println("Nombre: " + this.getNombre());
		System.out.println("Primer apellido: " + this.getPrimerApellido());
		System.out.println("Segudo apellido: " + this.getSegundoApellido());
		System.out.println("Teléfono: " + this.getTelefono());
		System.out.println("Email: " + this.getEmail());
		System.out.println("DNI: " + this.getDNI());
		System.out.println("Dirección: " + this.getDireccion());
		System.out.println("Número de la tarjeta: " + this.getNumTarjeta());
		System.out.println("Tipo de usuario: " + this.getTipo());
	}
}
